1장. 생성형 AI는 무엇이고, 설계는 어떤 순서로 하나
출처: 『가상 면접 사례로 배우는 생성형 AI 시스템 설계』(알리 아미니안·알렉스 쉬 지음) | 참고: aliaminian.com/books
코드는 분위기만 —
model.predict·softmax·@같은 말은 몰라도 됩니다. 표의 '비유'와 '위험'만 봐도 충분해요.
0. 이 장의 새 단어 (0장에 없는 용어만 3종)
0장 용어집에 이미 있는 말(판별형·생성형·토큰·확률 분포·어텐션·트랜스포머·매개변수·사전 학습·미세 조정·환각·자기 지도 학습·오프라인/온라인 평가·전처리/후처리)은 0장으로 돌아가 보면 된다.
이 장에서 처음 나오는 말은 딱 3개다.
스케일링 법칙(scaling law)
한 문장 뜻 — 데이터·모델 크기·연산을 키울수록 성능이 예측 가능하게 좋아진다는 규칙.
일상비유 — 헬스. 운동량을 2배 늘리면 근육도 대략 정해진 만큼 는다. 마구잡이가 아니라 거의 공식처럼 는다.
한 줄 예 —
# 연산을 10배 키우면 오차가 약 12% 줄어든다(대략)
loss_after = loss_before * 0.88
정렬(alignment)
한 문장 뜻 — 사람이 바라는 방향(친절·안전·정직)으로 모델 답을 맞춰 주는 마무리 단계.
일상비유 — 신입 사원 예절 교육. 일은 할 줄 알아도, 손님 응대 태도를 회사 기준에 맞춰 다듬는다.
한 줄 예 —
# 기본기는 갖췄으니, 사람 취향에 맞게 마지막으로 다듬음
align(model, human_feedback) # 더 공손하고 안전하게
샘플링(sampling)
한 문장 뜻 — 다음 토큰 후보 중에서 어느 것을 고를지 정하는 방식.
일상비유 — 식당 메뉴 고르기. 항상 1등 메뉴만 시킬지(탐욕), 상위 3개 중 골라 다양하게 먹을지(Top-k) 정하는 규칙.
한 줄 예 —
# 항상 최고 확률만 고르기 = 탐욕 검색
next_token = vocab[argmax(probs)] # 늘 1등만
이런 적 있죠? (귀납 도입)
면접관이 "챗봇을 설계해 보라"고 했다.
머릿속에 떠오른 건 "스팸인지 아닌지 맞히는 모델"이었다.
그런데 챗봇은 새 문장을 지어내야 한다. 맞히기만 하는 모델로는 한 글자도 못 만든다.
문제의 종류부터 잘못 잡은 것이다.
그게 바로 판별형(고르기)과 생성형(짓기)의 차이다.
그리고 또 한 번 막힌다.
"이미지 생성 시스템 설계하라"는 말에 곧장 "확산 모델 쓰겠습니다"라고 답했다.
면접관 표정이 굳는다. 규모도, 안전성도, 데이터도 안 물어봤다.
순서 없이 모델 이름부터 댄 게 문제였다.
그래서 이 장은 순서를 가르친다. 7단계로 칸을 차례차례 채우는 법이다.
이 장에서 딱 4가지만 (TL;DR)
- 고르기 vs 짓기 — 판별형은 보기 중 고르고, 생성형은 없던 걸 짓는다. 문제 종류부터 가른다.
- 왜 지금 강력한가 — 데이터·모델 크기·연산, 이 셋이 같이 커지면 성능이 예측 가능하게 좋아진다(스케일링 법칙).
- 7단계 설계 지도 — 요구사항 → 문제 정의 → 데이터 → 모델 → 평가 → 전체 시스템 → 배포. 칸을 순서대로 채운다.
- 모델은 부품, 시스템은 따로 — 앞에 거르개(전처리), 뒤에 거르개(후처리), 옆에 감시등(모니터링)이 붙어야 시스템이다.
개념 1 — 고르기 vs 짓기 (판별형 vs 생성형)
망가지는 장면
리뷰가 긍정인지 부정인지 맞히는 모델로 챗봇을 만들려 했다.
맞히기는 잘하는데, 새 답변 문장은 한 줄도 못 만든다.
문제 종류를 잘못 골랐다.
비유 먼저
감별사는 그림을 보고 "진품이냐 가짜냐"만 판정한다.
화가는 없던 그림을 새로 그린다.
챗봇·이미지 생성은 화가의 일이다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 감별사(판별형) | model.predict("이 제품 좋아요") # → 긍정 |
새 콘텐츠를 못 만듦 |
| 화가(생성형) | generator("인공지능의 미래는") # → 새 문장 |
지어내긴 하나 틀린 말도 지어냄(환각) |
한 문장 정의
판별형은 입력을 보기 중 하나로 고르는 모델, 생성형은 없던 데이터를 새로 짓는 모델이다.
예시 폭격
예: 완성예(worked) — 예시 1 스팸 필터를 생각해 보자. 이메일을 받아 "스팸 / 정상" 둘 중 하나로 고른다. 새 이메일을 짓는 게 아니라 고르기만 한다. → 판별형이다.
예: 부분완성(빈칸 채우기) — 예시 2 번역기는 "안녕하세요"를 받아 "Hello"라는 새 문장을 _ 낸다. 빈칸에 들어갈 동사는 "지어"다. 새 문장을 지으니 → _형이다. (답: 생성)
예: 독립적용 — 예시 3 "신용카드 거래가 사기인지 아닌지 판단"하는 시스템은? 새로운 걸 짓지 않고 둘 중 하나로 고른다. → 판별형. (직접 골라 보세요)
미니 시나리오
면접관: "사용자 리뷰의 별점을 예측하는 시스템." 당신: "별점은 1~5 중 하나를 고르는 일이네요. 판별형으로 잡겠습니다." → 첫 칸을 바르게 채웠다.
개념 2 — 왜 지금 이렇게 강력한가 (스케일링 법칙)
망가지는 장면
"옛날에도 AI는 있었는데 왜 지금 갑자기 똑똑해졌지?" 하고 막혔다.
이유를 모르면 "운이 좋았나 보다"로 끝나 버린다.
사실은 세 가지가 같이 커진 덕분이다.
비유 먼저
요리사를 생각해 보자.
식재료(데이터)가 많아지고, 요리 실력(모델 크기)이 늘고, 주방 화구(연산 장비)가 많아지면 더 좋은 요리가 나온다.
이 셋이 같이 커지면 맛이 예측 가능하게 좋아진다. 그게 스케일링 법칙이다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 식재료 많아짐(데이터) | tokens = 15_000_000_000_000 # 15조 토큰 |
양만 늘리고 품질 안 거르면 독이 섞임 |
| 요리 실력(모델 크기) | params = 175_000_000_000 # 1,750억 |
크기만 키우면 비용 폭발 |
| 화구 많아짐(연산) | gpu_speed = "초당 수십조 번 계산" |
장비 없으면 학습 자체가 불가 |
한 문장 정의
데이터·모델 크기·연산을 함께 키우면 성능이 예측 가능하게 좋아지며, 이를 스케일링 법칙이라 한다.
예시 폭격
예: 완성예(worked) — 예시 1 연산을 10배 키웠더니 오차가 약 12% 줄었다. 또 10배 키우니 또 비슷한 비율로 줄었다. 마구잡이가 아니라 거의 공식처럼 줄어든다. → 그래서 "다음 모델은 이 정도 좋아지겠다"를 미리 점칠 수 있다.
예: 부분완성(빈칸 채우기) — 예시 2 데이터만 잔뜩 늘리고 모델 크기는 그대로 두면? 요리 실력은 그대로인데 식재료만 쌓인 셈이다. 효율이 ____. (답: 떨어진다 — 셋을 같이 키워야 한다)
예: 독립적용 — 예시 3 "우리는 데이터·연산은 충분한데 모델을 안 키웠다." 무엇을 키워야 균형이 맞을까? → 모델 크기. (직접 답해 보세요)
미니 시나리오
면접관: "왜 요즘 모델이 이렇게 좋아졌죠?" 당신: "데이터·모델 크기·연산 셋이 같이 커졌고, 스케일링 법칙대로 성능이 예측 가능하게 올랐습니다." → "운"이 아니라 "법칙"으로 설명하면 점수가 오른다.
한 걸음 더 ▸ (지금 몰라도 됨)
사람이 일일이 정답표를 안 붙여도, 모델은 인터넷 글 자체로 "다음 말 맞히기" 퀴즈를 스스로 낸다(자기 지도 학습, 0장 참고).
그래서 레이블 없는 거대한 데이터를 그냥 쓸 수 있고, 스케일링이 가능해진다. 지금은 "셋을 같이 키운다"만 들고 가면 된다.
개념 3 — 강력한 만큼 위험도 있다 (환각·편향·딥페이크)
망가지는 장면
모델이 "서울에 에펠탑이 있습니다"라고 아주 자신 있게 말했다.
너무 당당해서 믿을 뻔했다.
생성형은 틀린 말도 그럴듯하게 지어낸다.
비유 먼저
유능하지만 거짓말도 당당하게 하는 비서다.
일은 빠른데, 모르는 걸 들키기 싫어 아무 말이나 자신 있게 한다.
그래서 옆에서 사실 확인을 해 줘야 한다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 당당한 거짓말(환각) | "GPT-3는 5000억개" # 틀림(실제 1,750억) |
사실처럼 들려 더 위험 |
| 닮은 말투만 따라함(편향) | if 학습데이터_편향: 출력도_편향 |
차별·왜곡이 그대로 흘러나옴 |
| 가짜 얼굴·목소리(딥페이크) | make_fake_video(face, voice) |
사기·가짜뉴스에 악용 |
한 문장 정의
생성형 AI는 사실이 아닌 것을 자신 있게 말하거나(환각), 학습 데이터의 치우침을 그대로 내보내거나(편향), 가짜를 진짜처럼 만들(딥페이크) 위험이 있다.
예시 폭격
예: 완성예(worked) — 예시 1 "GPT-3 매개변수는 5000억개"라고 모델이 말했다. 실제는 1,750억개다. 숫자가 그럴듯해 속기 쉽다. → 이게 환각이다. 사실 확인 장치가 필요하다.
예: 부분완성(빈칸 채우기) — 예시 2 학습 데이터에 "의사=남자"라는 글이 많았다면? 모델은 "의사"를 말할 때 자꾸 남자로 떠올린다. 이런 치우침을 ____이라 한다. (답: 편향)
예: 독립적용 — 예시 3 누군가 유명인의 얼굴·목소리로 가짜 영상을 만들었다. 이 위험의 이름은? → 딥페이크. (직접 답해 보세요)
미니 시나리오
면접관: "이 챗봇을 그대로 출시해도 될까요?" 당신: "환각·편향·악용 위험이 있어, 출력 사실 확인과 필터가 필요합니다." → 위험을 먼저 짚으면 신뢰를 얻는다.
개념 4 — 7단계 설계 지도 (순서대로 칸 채우기)
망가지는 장면
"이미지 생성 시스템 설계하라"는 말에 모델 이름부터 댔다.
데이터도, 평가도, 배포도 안 다뤘다.
빠진 칸이 잔뜩 생겼다.
비유 먼저
집 짓기와 같다.
상담(요구사항) → 도면(문제 정의) → 자재(데이터) → 시공(모델) → 안전검사(평가) → 배관·전기 통합(전체 시스템) → 입주·유지보수(배포).
칸을 순서대로 채우면 빠짐이 없다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 집 짓는 7단계 | ["요구사항","문제정의","데이터","모델","평가","시스템","배포"] |
순서 건너뛰면 칸이 빔 |
| 도면 없이 시공부터 | "확산 모델 쓰겠습니다" # 질문 0 |
자재(데이터) 없이 못 짓는다 |
한 문장 정의
생성형 AI 시스템 설계 면접은 요구사항→문제 정의→데이터→모델→평가→전체 시스템→배포의 7칸을 순서대로 채우는 일이다.
예시 폭격
예: 완성예(worked) — 예시 1 "이메일 3줄 요약 시스템"을 7칸으로 풀어 보자. 요구사항(2초 이내·다국어) → 문제 정의(텍스트→텍스트, 생성형) → 데이터(공개 이메일+정제) → 모델(요약에 미세 조정) → 평가(요약 점수·만족도) → 시스템(개인정보 마스킹 붙이기) → 배포(서버 올리기). 일곱 칸이 다 찼다.
예: 부분완성(빈칸 채우기) — 예시 2 "평가" 다음 칸은 무엇일까? 순서를 떠올려 보자: …평가 → ____ → 배포. 빈칸은 "전체 시스템"이다.
예: 독립적용 — 예시 3 면접관이 "음악 생성기를 만들어라"라고 했다. 가장 먼저 채울 칸은? → 요구사항(질문부터). (직접 답해 보세요)
미니 시나리오
면접관: "어디부터 시작하실래요?" 당신: "7단계로 가겠습니다. 먼저 요구사항을 몇 가지 여쭤봐도 될까요?" → 구조를 보여 주면 그 자체가 점수다.
개념 5 — 풀지 말고 먼저 물어라 (요구사항 구체화)
망가지는 장면
"파스타 주세요"에 곧장 토마토 파스타를 냈더니, 손님은 크림을 원했다.
면접에서도 곧장 설계하면 엉뚱한 걸 만든다.
비유 먼저
주문 받기다.
어떤 면? 매운맛? 사이즈? 먼저 묻는다.
질문으로 범위를 좁히는 행동 자체가 좋은 점수다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 주문 전 되묻기 | questions = {"규모":..., "안전성":...} |
안 물으면 범위 어긋남 |
| 바로 메뉴 결정 | "확산 모델 쓰겠습니다" # 질문 0 |
잘못된 가정 위에 다 쌓임 |
한 문장 정의
설계의 첫걸음은 풀이가 아니라 질문이며, 무엇을 할지(기능)와 어떻게 동작할지(규모·속도·안전)를 되물어 범위를 좁히는 것이다.
예시 폭격
예: 완성예(worked) — 예시 1 "이미지 생성기를 만들라" 들었다. 먼저 묻는다: 상품 사진? SNS 사진? 하루 몇 장? 유해 이미지 차단 필요? 범위가 좁혀지자 설계가 또렷해진다.
예: 부분완성(빈칸 채우기) — 예시 2 "무엇을 하는가"는 ____ 요구사항이다. "2초 이내·하루 100만건"처럼 어떻게 동작하는지는 비기능적 요구사항이다. 빈칸은 "기능적"이다.
예: 독립적용 — 예시 3 "지연 시간 1초 이내, 분당 1000건 처리"는 어떤 요구사항? → 비기능적. (직접 답해 보세요)
미니 시나리오
면접관: "번역 시스템 설계해 보세요." 당신: "어떤 언어쌍인가요? 실시간인가요? 문서 통째인가요?" → 바로 모델을 대지 않고 묻는 게 정답이다.
개념 6 — 데이터는 모으고 거른다 (생성형 데이터 준비)
망가지는 장면
데이터를 인터넷에서 잔뜩 긁어 그대로 학습시켰다.
욕설·중복·빈 글·악성 코드까지 섞여 들어갔다.
모델이 그 쓰레기를 그대로 배웠다.
비유 먼저
요리 재료 손질이다.
전 세계 재료를 대량으로 들여오되(수집), 상한 것은 골라낸다(정제).
씻지 않은 재료로 요리하면 손님이 탈 난다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 대량 수입(수집) | data = crawl(web) # 인터넷 통째 |
양만 보면 품질을 놓침 |
| 상한 것 골라냄(정제) | data = remove(중복, 욕설, 빈글) |
안 거르면 독을 학습 |
| 모자란 재료 보충(합성 데이터) | data += ai_made_samples |
너무 의존하면 분포가 치우침 |
한 문장 정의
생성형 AI의 데이터 준비는 대규모로 모으고(수집), 유해·중복·저품질을 골라내고(정제), 부족하면 AI가 만든 데이터로 보충(합성 데이터)하는 일이다.
예시 폭격
예: 완성예(worked) — 예시 1 원본 8건을 정제해 보자. 같은 문장 중복 1건 제거 → 빈 글 1건 제거 → 욕설·악성 코드 2건 제거 → 너무 짧은 글 제거. 남은 깨끗한 문장만 학습에 쓴다.
예: 부분완성(빈칸 채우기) — 예시 2 데이터가 모자랄 때, AI가 만든 가짜 학습 데이터를 ____ 데이터라 한다. 빈칸은 "합성"이다.
예: 독립적용 — 예시 3 같은 글이 1000번 중복돼 있다. 정제 단계에서 할 일은? → 중복 제거. (직접 답해 보세요)
미니 시나리오
면접관: "학습 데이터는 어떻게 준비하죠?" 당신: "대규모로 모으고, 유해·중복·저품질을 거르고, 부족하면 합성 데이터로 보충합니다." → "그냥 많이 모은다"보다 한 수 위다.
개념 7 — 모델은 받아서 다듬는다 (사전 학습 → 미세 조정 → 정렬)
망가지는 장면
"우리도 모델을 처음부터 학습시키자"고 덤볐다.
GPU 비용과 시간 앞에서 멈췄다.
처음부터 학습은 거대 기업의 영역이다.
비유 먼저
이미 대학까지 마친 사람을 채용한다(사전 학습 받기).
우리 회사 업무만 신입 연수로 짧게 가르친다(미세 조정).
마지막으로 손님 응대 예절을 우리 기준에 맞춘다(정렬).
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 교육 마친 사람 채용(사전 학습) | model = load("이미 학습된 모델") |
처음부터 학습은 비용 폭발 |
| 신입 연수(미세 조정) | finetune(model, our_data) |
안 하면 우리 일엔 안 맞음 |
| 예절 교육(정렬) | align(model, human_feedback) |
안 하면 무례·위험한 답이 나옴 |
한 문장 정의
요즘 모델은 남이 사전 학습한 것을 받아(사전 학습), 우리 일에 맞게 더 가르치고(미세 조정), 사람 가치에 맞게 다듬는다(정렬).
예시 폭격
예: 완성예(worked) — 예시 1 법률 상담 챗봇을 만든다고 하자. 이미 말 잘하는 모델을 받아(사전 학습) → 법률 문답으로 더 가르치고(미세 조정) → 정중하고 안전하게 답하도록 다듬는다(정렬). 처음부터 만들지 않았다.
예: 부분완성(빈칸 채우기) — 예시 2 기본기를 쌓는 첫 단계는 ____ 학습이다. 우리 과제만 더 가르치는 단계는 미세 조정이다. 빈칸은 "사전"이다.
예: 독립적용 — 예시 3 "공손하고 안전하게 답하도록" 마지막에 다듬는 단계의 이름은? → 정렬. (직접 답해 보세요)
미니 시나리오
면접관: "모델을 처음부터 만들 건가요?" 당신: "아니요. 사전 학습된 모델을 받아 미세 조정하고 정렬하겠습니다. 비용·시간을 아낄 수 있습니다." → 현실적인 답이 신뢰를 준다.
개념 8 — 다음 토큰을 어떻게 고르나 (샘플링)
망가지는 장면
모델이 매번 똑같은 문장만 반복해서 답했다.
지루하고 어색했다.
다음 토큰을 항상 1등만 고른 탓이었다.
비유 먼저
식당 메뉴 고르기다.
늘 1등 메뉴만 시키면 안전하지만 지겹다(탐욕 검색).
상위 몇 개 중에서 골라 먹으면 다양해진다(Top-k).
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 1등만 시키기(탐욕) | next = vocab[argmax(probs)] |
다양성 부족, 반복 경향 |
| 상위 몇 개 중 고르기(Top-k) | next = pick_random(top_3) |
너무 풀면 엉뚱한 말 나옴 |
| 여러 줄기 동시 추적(빔 검색) | track([줄기1, 줄기2]) |
계산이 무거움 |
한 문장 정의
샘플링은 다음 토큰 후보 중 무엇을 고를지 정하는 방식이며, 항상 1등만(탐욕)·상위 몇 개 중 무작위(Top-k)·여러 줄기 동시 추적(빔 검색) 등이 있다.
예시 폭격
예: 완성예(worked) — 예시 1 다음 단어 후보가 "고양이 0.35, 강아지 0.30, 새 0.20…"이라 하자. 탐욕은 늘 "고양이"만 고른다. Top-3는 상위 셋 중에서 골라, 가끔 "강아지"·"새"도 나온다. → 글이 다양해진다.
예: 부분완성(빈칸 채우기) — 예시 2 매번 가장 높은 확률만 고르는 방식은 ____ 검색이다. 이건 일관되지만 반복이 심하다. 빈칸은 "탐욕"이다.
예: 독립적용 — 예시 3 "답이 너무 단조롭다"는 피드백을 받았다. 탐욕 대신 무엇을 써 볼까? → Top-k 샘플링. (직접 답해 보세요)
미니 시나리오
면접관: "생성된 글이 너무 반복적이라면요?" 당신: "탐욕 대신 Top-k 샘플링으로 다양성을 줍니다." → 증상에 맞는 처방을 알면 강하다.
개념 9 — 시험점수와 손님반응 둘 다 본다 (오프라인 vs 온라인 평가)
망가지는 장면
배포 전 점수(Perplexity)가 좋아서 안심했다.
막상 출시하니 사용자가 제안을 안 눌렀다.
시험 점수만 보고 현장 반응을 놓쳤다.
비유 먼저
오프라인 평가는 요리 대회 심사위원 점수다(배포 전, 정해진 기준).
온라인 평가는 진짜 손님의 재방문율·매출이다(배포 후, 실제 반응).
둘 다 봐야 한다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 심사위원 점수(오프라인) | score = perplexity(...) |
점수만 보면 현장 반응 놓침 |
| 손님 재방문(온라인) | rate = "수락률 25%" |
배포 전엔 알 수 없음 |
한 문장 정의
오프라인 평가는 배포 전 정해진 지표로 채점하고, 온라인 평가는 배포 후 실제 사용자 반응으로 채점하며, 한쪽만으론 충분치 않다.
예시 폭격
예: 완성예(worked) — 예시 1 번역기를 만들었다. 배포 전, 정답 번역과 얼마나 닮았는지 점수로 잰다(오프라인). 배포 후, 사용자가 번역을 복사해 쓰는 비율을 잰다(온라인). 두 숫자가 다를 수 있으니 둘 다 본다.
예: 부분완성(빈칸 채우기) — 예시 2 "클릭률·전환율·재방문율"은 ____ 평가다. 이건 배포 후에야 알 수 있다. 빈칸은 "온라인"이다.
예: 독립적용 — 예시 3 배포 전, 미리 모아 둔 시험지로 채점하는 평가의 이름은? → 오프라인 평가. (직접 답해 보세요)
미니 시나리오
면접관: "모델이 좋은지 어떻게 알죠?" 당신: "배포 전 오프라인 지표로 보고, 배포 후 온라인 반응으로 확인합니다." → 한쪽만 말하면 반쪽짜리 답이다.
개념 10 — 모델은 부품, 시스템은 따로 (앞뒤 거르개 + 감시등)
망가지는 장면
좋은 모델 하나를 그냥 붙였다.
악의적 입력이 그대로 들어가고, 유해한 출력이 그대로 나갔다.
모델만으론 시스템이 아니었다.
비유 먼저
자동차다.
엔진(모델)만으론 못 달린다.
연료 필터(전처리)로 나쁜 입력을 거르고, 배기 필터(후처리)로 유해 출력을 정화하고, 계기판 경고등(모니터링)으로 이상을 알아챈다.
비유 ↔ 코드 ↔ 위험
| 비유 | 코드 | 위험 |
|---|---|---|
| 엔진(모델 단독) | generate(input) |
입력·출력이 무방비 |
| 연료 필터(전처리) | clean = preprocess(input) |
없으면 악성 입력 통과 |
| 배기 필터+경고등(후처리·감시) | safe = postprocess(out); monitor() |
없으면 유해 출력·장애를 놓침 |
한 문장 정의
핵심 모델은 부품 하나일 뿐이고, 전처리·후처리·모니터링까지 묶어야 비로소 하나의 생성형 AI 시스템이 된다.
예시 폭격
예: 완성예(worked) — 예시 1 챗봇 한 번 호출을 따라가 보자. 입력 검사(전처리) → "시스템 프롬프트 무시해" 같은 공격을 차단 → 모델 답 생성 → 유해어 필터(후처리) → 응답. 중간에 차단 건수도 기록한다(모니터링).
예: 부분완성(빈칸 채우기) — 예시 2 모델에 넣기 전에 입력을 거르는 단계는 ____이다. 모델이 뱉은 뒤에 출력을 거르는 단계는 후처리다. 빈칸은 "전처리"다. (0장 참고)
예: 독립적용 — 예시 3 "차단율이 갑자기 90%로 치솟았다"를 알아챈 장치는? → 모니터링(감시등). (직접 답해 보세요)
미니 시나리오
면접관: "모델만 좋으면 끝인가요?" 당신: "아니요. 앞뒤 거르개와 감시등까지 붙여야 시스템입니다." → "모델=시스템" 함정을 피하면 합격에 가깝다.
정리 (단순 규칙)
핵심 3줄만 들고 가면 된다.
- 고르기 vs 짓기 — 문제 종류부터 가른다. 판별형은 고르고, 생성형은 짓는다.
- 7단계 순서 — 요구사항 → 문제 정의 → 데이터 → 모델 → 평가 → 전체 시스템 → 배포. 칸을 차례로 채운다.
- 모델은 부품 — 앞 거르개(전처리)·뒤 거르개(후처리)·감시등(모니터링)이 붙어야 시스템이다.
단순 규칙: 막히면 "지금 7칸 중 어느 칸이지?"를 먼저 묻는다. 칸을 알면 다음 할 말이 보인다.
한 걸음 더 ▸ (지금 몰라도 됨)
트랜스포머·어텐션·매개변수 같은 부품 이름은 0장 용어집에 있다. 지금 외울 필요 없다.
"고르기 vs 짓기 / 7단계 / 모델은 부품" 셋만 머리에 있으면 이 장은 다 가져간 것이다.
더 해보기
원서 1장의 핵심 논문은 「Attention Is All You Need」(2017) — arxiv.org/abs/1706.03762 (검증일 2026-06-04). 지금은 제목만 보면 충분하다.
다음 장 예고 1줄 — 다음 장에서는 7단계 중 맨 앞 두 칸(요구사항·문제 정의)을 실제 면접 대화로 더 깊게 본다. (지금 몰라도 됩니다.)
클릭하거나 Space를 눌러 뒤집기